package cc.rengu.igas.bsps.common.dao;

import cc.rengu.igas.bsps.common.entity.NoTxnReg;
import cc.rengu.oltp.utility.bean.PageInfo;
import cc.rengu.oltp.utility.bean.PageResult;

import java.util.List;

/**
 * 无交易商户终端登记表操作接口类
 * Created by 王成 on 2020/3/25
 */
public interface BspsNoTxnRegMapper {
    /**
     * 根据拓展经理及查询区间查询无交易商户终端信息
     *
     * @param instId    多法人标识
     * @param managerId 拓展经理工号
     * @param startDate 开始日期
     * @param endDate   截止日期
     * @return 无交易商户终端信息
     * @throws Exception 异常
     */
    List<NoTxnReg> selectBspsNoTxnRegByManagerId(String instId, String managerId, String startDate, String endDate) throws Exception;

    /**
     * 根据集团商户号及查询区间查询无交易商户终端信息
     *
     * @param instId       多法人标识
     * @param groupMchntNo 集团商户号
     * @param startDate    开始日期
     * @param endDate      截止日期
     * @return 无交易商户终端信息
     * @throws Exception 异常
     */
    List<NoTxnReg> selectBspsNoTxnRegByGroupMchntNo(String instId, String groupMchntNo, String startDate, String endDate) throws Exception;

    /**
     * 根据平台商户号及查询区间查询无交易商户终端信息
     *
     * @param instId      多法人标识
     * @param platMchntNo 平台商户号
     * @param startDate   开始日期
     * @param endDate     截止日期
     * @return 无交易商户终端信息
     * @throws Exception 异常
     */
    List<NoTxnReg> selectBspsNoTxnRegByPlatMchntNo(String instId, String platMchntNo, String startDate, String endDate) throws Exception;

    /**
     * 根据代理商商户号及查询区间查询无交易商户终端信息
     *
     * @param instId       多法人标识
     * @param agentMchntNo 代理商商户号
     * @param startDate    开始日期
     * @param endDate      截止日期
     * @return 无交易商户终端信息
     * @throws Exception 异常
     */
    List<NoTxnReg> selectBspsNoTxnRegByAgentMchntNo(String instId, String agentMchntNo, String startDate, String endDate) throws Exception;


    /**
     * 根据集团商户号及查询区间查询无交易商户终端信息
     *
     * @param instId       多法人标识
     * @param groupMchntNo 集团商户号
     * @param startDate    开始日期
     * @param endDate      截止日期
     * @return 无交易商户终端信息
     * @throws Exception 异常
     */
    PageResult selectBspsNoTxnRegByGroupMchntNoPage(String instId, String groupMchntNo, String startDate, String endDate, PageInfo pageInfo) throws Exception;


    /**
     * 根据平台商户号及查询区间查询无交易商户终端信息
     *
     * @param instId      多法人标识
     * @param platMchntNo 平台商户号
     * @param startDate   开始日期
     * @param endDate     截止日期
     * @return 无交易商户终端信息
     * @throws Exception 异常
     */
    PageResult selectBspsNoTxnRegByPlatMchntNoPage(String instId, String platMchntNo, String startDate, String endDate, PageInfo pageInfo) throws Exception;


    /**
     * 根据代理商商户号及查询区间查询无交易商户终端信息
     *
     * @param instId       多法人标识
     * @param agentMchntNo 代理商商户号
     * @param startDate    开始日期
     * @param endDate      截止日期
     * @return 无交易商户终端信息
     * @throws Exception 异常
     */
    PageResult selectBspsNoTxnRegByAgentMchntNoPage(String instId, String agentMchntNo, String startDate, String endDate, PageInfo pageInfo) throws Exception;

    /**
     * 根据拓展经理及查询区间查询无交易商户终端信息
     *
     * @param instId    多法人标识
     * @param managerId 拓展经理工号
     * @param startDate 开始日期
     * @param endDate   截止日期
     * @return 无交易商户终端信息
     * @throws Exception 异常
     */
    PageResult selectBspsNoTxnRegByManagerIdPage(String instId, String managerId, String startDate, String endDate, PageInfo pageInfo) throws Exception;

}
